Currently, with the rapid development of the Internet, its large-scale application and its status importance are far beyond the imagination of its designers, now the Internet has the following drawbacks: there is no unified management within a specific range, the network forwarding mechanism and strategy are simple, and it is difficult for the operators to maximally optimize their own networks, moreover, forwarding functions and protocols of traditional switches are many and complex, and difficult to configure, and the system is error-prone. To deal with these drawbacks, the Openflow switch was proposed, and it separates the packet forwarding from the forwarding policy in the traditional switch, and uses a specific forwarder to connect with the switch through a network cable. Therefore, the packet forwarding functions (implemented by hardware chips) and packet forwarding policies (various software protocols) which are originally in the same switch device are separated to different hardware devices. Moreover, a forwarder can also control multiple Openflow switches, so as to achieve a unified forwarding control terminal, thus controlling the network more effectively.
Usually, flow tables in an Openflow switch are implemented by configuring the flow tables in a TCAM (Ternary Content Addressable Memory) hardware. Wherein, the TCAM is mainly used to quickly look up table entries such as ACL and routing.
In the related art, the Openflow switch only has one TCAM flow table, assuming that the Openflow switch needs to define M kinds of IP forwarding rules based on the destination IP field of the packet, while to execute N kinds of port filtering rules based on the TCP field of the data packet, then TCAM flow table needs to have M×N entries, which takes up too much TCAM storage space.